names = ['张三', '李四', '王五', '赵六', '周七', '王八']
# 遍历列表
for name in names:
    print(name)
for name in names:
    print(name)
    print(f"hello{name}")
# 数值列表
for value in range(1, 5):  # 打印1~4
    print(value)
# 创建数值列表
numbers = list(range(1, 5))
print(numbers)
even_numbers = list(range(2, 11, 2))
print(even_numbers)

squares = []
for value in range(1, 11):
    square = value ** 2
    squares.append(square)
print(squares)
# 找出最大最小数
print(min(squares))
print(max(squares))

squares = [value ** 3 for value in range(1, 11)]
print(squares)

# 练习
# 1、使用一个for 循环打印数1～20（含）
for value in range(1, 21):
    print(value)
# 2、创建一个包含数1～1 000 000的列表，再使用一个for 循
# 环将这些数打印出来。（如果输出的时间太长，按Ctrl + C停止输出或关闭输
# 出窗口。）

# for value in range(1, 1_000_001):
#     print(value)

# 3、创建一个包含数1～1 000 000的列表，再使用min()
# 和max() 核实该列表确实是从1开始、到1 000 000结束的。另外，对这个列表调用函数sum() ，看看Python将一百万个数相加需要多长时间

m_numbers = [value for value in range(1, 100_0001)]
print(max(m_numbers))
print(min(m_numbers))
print(sum(m_numbers))
# 4、通过给函数range() 指定第三个参数来创建一个列表，其中
# 包含1～20的奇数，再使用一个for 循环将这些数打印出来。

for value in range(1, 21, 2):
    print(value)

# 5、创建一个列表，其中包含3～30能被3整除的数，再使用一
# 个for 循环将这个列表中的数打印出来
three_numbers = [value for value in range(3, 31, 3)]
print(three_numbers)

# 6、将同一个数乘三次称为立方 。例如，在Python中，2的立方
# 用2**3 表示。请创建一个列表，其中包含前10个整数（1～10）的立方，再使
# 用一个for 循环将这些立方数打印出来

numbers_1 = [value ** 3 for value in range(1, 11)]
print(numbers_1)

# 使用列表的一部分
print(names[0:3])
print(names[1:3])
print(names[:3])
print(names[2:])

for name in names[:2]:
    print(name)
# 复制列表
names_1 = names[:]
print(names_1)
names_1.append("何九")
print(names)
print(names_1)

# 元组（不可修改的元素集合）
dimensions = {200, 50}
print(dimensions)
for dimension in dimensions:
    print(dimension)
dimensions = {400, 100}
print(dimensions)
